home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / AppleScript.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  6KB  |  206 lines

  1. /*
  2.      File:        AppleScript.h
  3.  
  4.      Contains:    AppleScript Specific Interfaces.
  5.  
  6.      Version:    Technology:    AppleScript 1.1
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __APPLESCRIPT__
  19. #define __APPLESCRIPT__
  20.  
  21. #ifndef __ERRORS__
  22. #include <Errors.h>
  23. #endif
  24. #ifndef __APPLEEVENTS__
  25. #include <AppleEvents.h>
  26. #endif
  27. #ifndef __OSA__
  28. #include <OSA.h>
  29. #endif
  30. #ifndef __TEXTEDIT__
  31. #include <TextEdit.h>
  32. #endif
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #if PRAGMA_IMPORT_SUPPORTED
  39. #pragma import on
  40. #endif
  41.  
  42. #if PRAGMA_ALIGN_SUPPORTED
  43. #pragma options align=mac68k
  44. #endif
  45.  
  46. #if FOR_SYSTEM7_ONLY
  47. /*
  48. *************************************************************************
  49.     Types and Constants
  50. *************************************************************************
  51. */
  52. /*
  53.     The specific type for the AppleScript instance of the
  54.     Open Scripting Architecture type.
  55. */
  56.  
  57. enum {
  58.     typeAppleScript                = 'ascr',
  59.     kAppleScriptSubtype            = typeAppleScript,
  60.     typeASStorage                = typeAppleScript
  61. };
  62.  
  63. /*
  64. *************************************************************************
  65.     Component Selectors
  66. *************************************************************************
  67. */
  68.  
  69. enum {
  70.     kASSelectInit                = 0x1001,
  71.     kASSelectSetSourceStyles    = 0x1002,
  72.     kASSelectGetSourceStyles    = 0x1003,
  73.     kASSelectGetSourceStyleNames = 0x1004
  74. };
  75.  
  76. /*
  77. *************************************************************************
  78.     OSAGetScriptInfo Selectors
  79. *************************************************************************
  80. */
  81.  
  82. enum {
  83.     kASHasOpenHandler            = 'hsod'
  84. };
  85.  
  86. /*
  87.         This selector is used to query a context as to whether it contains
  88.         a handler for the kAEOpenDocuments event. This allows "applets" to be 
  89.         distinguished from "droplets."  OSAGetScriptInfo returns false if
  90.         there is no kAEOpenDocuments handler, and returns the error value 
  91.         errOSAInvalidAccess if the input is not a context.
  92. */
  93. /*
  94. *************************************************************************
  95.     Initialization
  96. *************************************************************************
  97. */
  98. extern pascal OSAError ASInit(ComponentInstance scriptingComponent, long modeFlags, long minStackSize, long preferredStackSize, long maxStackSize, long minHeapSize, long preferredHeapSize, long maxHeapSize)
  99.  FIVEWORDINLINE(0x2F3C, 0x001C, 0x1001, 0x7000, 0xA82A);
  100.  
  101. /*
  102.         ComponentCallNow(kASSelectInit, 28);
  103.         This call can be used to explicitly initialize AppleScript.  If it is
  104.         not called, the a scripting size resource is looked for and used. If
  105.         there is no scripting size resource, then the constants listed below
  106.         are used.  If at any stage (the init call, the size resource, the 
  107.         defaults) any of these parameters are zero, then parameters from the
  108.         next stage are used.  ModeFlags are not currently used.
  109.         Errors:
  110.         errOSASystemError        initialization failed
  111. */
  112. /*
  113.     These values will be used if ASInit is not called explicitly, or if any
  114.     of ASInit's parameters are zero:
  115. */
  116.  
  117. enum {
  118.     kASDefaultMinStackSize        = 4 * 1024,
  119.     kASDefaultPreferredStackSize = 16 * 1024,
  120.     kASDefaultMaxStackSize        = 16 * 1024,
  121.     kASDefaultMinHeapSize        = 4 * 1024,
  122.     kASDefaultPreferredHeapSize    = 16 * 1024,
  123.     kASDefaultMaxHeapSize        = 32L * 1024 * 1024
  124. };
  125.  
  126. /*
  127. *************************************************************************
  128.     Source Styles
  129. *************************************************************************
  130. */
  131. extern pascal OSAError ASSetSourceStyles(ComponentInstance scriptingComponent, STHandle sourceStyles)
  132.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x1002, 0x7000, 0xA82A);
  133.  
  134. /*
  135.         ComponentCallNow(kASSelectSetSourceStyles, 4);
  136.         Errors:
  137.         errOSASystemError        operation failed
  138. */
  139. extern pascal OSAError ASGetSourceStyles(ComponentInstance scriptingComponent, STHandle *resultingSourceStyles)
  140.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x1003, 0x7000, 0xA82A);
  141.  
  142. /*
  143.         ComponentCallNow(kASSelectGetSourceStyles, 4);
  144.         Errors:
  145.         errOSASystemError        operation failed
  146. */
  147. extern pascal OSAError ASGetSourceStyleNames(ComponentInstance scriptingComponent, long modeFlags, AEDescList *resultingSourceStyleNamesList)
  148.  FIVEWORDINLINE(0x2F3C, 0x0008, 0x1004, 0x7000, 0xA82A);
  149.  
  150. /*
  151.         ComponentCallNow(kASSelectGetSourceStyleNames, 8);
  152.         This call returns an AEList of styled text descriptors the names of the
  153.         source styles in the current dialect.  The order of the names corresponds
  154.         to the order of the source style constants, below.  The style of each
  155.         name is the same as the styles returned by ASGetSourceStyles.
  156.         
  157.         Errors:
  158.         errOSASystemError        operation failed
  159. */
  160. /*
  161.     Elements of STHandle correspond to following categories of tokens, and
  162.     accessed through following index constants:
  163. */
  164.  
  165. enum {
  166.     kASSourceStyleUncompiledText = 0,
  167.     kASSourceStyleNormalText    = 1,
  168.     kASSourceStyleLanguageKeyword = 2,
  169.     kASSourceStyleApplicationKeyword = 3,
  170.     kASSourceStyleComment        = 4,
  171.     kASSourceStyleLiteral        = 5,
  172.     kASSourceStyleUserSymbol    = 6,
  173.     kASSourceStyleObjectSpecifier = 7,
  174.     kASNumberOfSourceStyles        = 8
  175. };
  176.  
  177. /* Gestalt selectors for AppleScript */
  178.  
  179. enum {
  180.     gestaltAppleScriptAttr        = 'ascr',
  181.     gestaltAppleScriptVersion    = 'ascv'
  182. };
  183.  
  184.  
  185. enum {
  186.     gestaltAppleScriptPresent    = 0,
  187.     gestaltAppleScriptPowerPCSupport = 1
  188. };
  189.  
  190. #endif
  191.  
  192. #if PRAGMA_ALIGN_SUPPORTED
  193. #pragma options align=reset
  194. #endif
  195.  
  196. #if PRAGMA_IMPORT_SUPPORTED
  197. #pragma import off
  198. #endif
  199.  
  200. #ifdef __cplusplus
  201. }
  202. #endif
  203.  
  204. #endif /* __APPLESCRIPT__ */
  205.  
  206.